package com.hk.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hk.model.entity.SpaceUser;
import com.hk.model.vo.spaceuser.SpaceUserAddVO;
import com.hk.model.vo.spaceuser.SpaceUserBatchAddVO;
import com.hk.model.vo.spaceuser.SpaceUserEditVO;
import com.hk.model.vo.spaceuser.SpaceUserVO;

import java.util.List;

/**
* @author 20231
* @description 针对表【space_user(空间用户关联)】的数据库操作Service
* @createDate 2025-02-08 20:06:26
*/
public interface SpaceUserService extends IService<SpaceUser> {

    /**
     * 添加空间用户
     * @param spaceUserAddVO
     * @return
     */
    boolean addSpaceUser(SpaceUserAddVO spaceUserAddVO);

    /**
     * 批量添加空间用户
     * @param userBatchAddVO
     * @return
     */
    boolean batchAddSpaceUser(SpaceUserBatchAddVO userBatchAddVO);

    /**
     * 编辑空间用户
     * @param spaceUserEditVO
     * @return
     */
    boolean editSpaceUser(SpaceUserEditVO spaceUserEditVO);

    /**
     * 获取空间用户列表
     * @param spaceId
     * @param spaceRole
     * @param userId
     * @return
     */
    List<SpaceUserVO> getSpaceUserList(Long spaceId, String spaceRole, Long userId);


    List<SpaceUserVO> selectUserListBySpaceId(Long spaceId, String spaceRole);

    List<SpaceUserVO> selectSpaceListByUserId(Long userId);

    void deleteBySpaceId(Long spaceId);
}
